package com.usian.service.impl;

import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.usian.mapper.AccountMapper;
import com.usian.pojo.Account;
import com.usian.service.AccountService;
import org.springframework.stereotype.Service;

import java.util.Arrays;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

@Service
public class AccountServiceImpl extends ServiceImpl<AccountMapper, Account> implements AccountService {


    //true 扣减成功  false 扣减失败
    @Override
    public boolean deduction(Integer userId, Integer money) {
        boolean result =false;

        //1:校验参数
        if(userId!=null &&money!=null){

            //2: 查看用户账户
            LambdaQueryWrapper<Account> lambdaQueryWrapper =new LambdaQueryWrapper<>();
            lambdaQueryWrapper.eq(Account::getUserId,userId);
            Account account = this.getOne(lambdaQueryWrapper);

            //比较余额是否可以支持本次支付 >=支付金额   update account  余额-money

            if(account.getBalance()>=money){
                //3: 扣减用户余额   update account set balance=? where user_id=?
                UpdateWrapper<Account> updateWrapper =new UpdateWrapper<>();
                updateWrapper.set("balance",account.getBalance()-money);
                updateWrapper.eq("user_id",userId);
                result = this.update(updateWrapper);
            }
        }
        return result;
    }


    public static void main(String[] args) {

        String str="环境保护|环保|生态环境|生态环保|生态|环境|环保厅|环保局|习近平生态文明思想|降碳减污|生物多样性" +
                   "|应对气候变化|污染防治|美丽中国|美丽乡村|绿水青山|生态文明|生态文明建设|治理|治污|精准治污|科学治污" +
                   "|依法治污|六五环境日|蓝天|蓝天保卫战|碧水保卫战|净土保卫战|绿色|绿色发展|水生态|水环境|饮用水水源地" +
                   "|优良水体|农村水源地|长江经济带|长江保护修复|长江警示片|铁腕治污|海绵城市|地下水|入海排污口|入河排污口" +
                   "|污染|黑臭水体|黄河流域高质量发展|黄河生态环保|海洋环境保护|海域综合治理|美丽海湾|碧海行动|大气污染" +
                   "|重污染过程|重污染天气应对|大气质量|大气环境质量|大气环境治理|区域联防联控|秸秆禁烧|扬尘|清洁取暖|臭氧|煤改气" +
                   "|煤改电|PM2.5|PM10|细颗粒污染|公转铁|挥发性有机物|酸雨|散煤|燃煤锅炉|超低排放改造|产业结构|能源转型|空气质量保障" +
                   "|空气质量预测预警|噪声污染|光污染|臭氧层保护|气候特使|土壤环境质量|土壤治理|土壤污染防治|土壤修复|洋垃圾 医疗垃圾|危险废物" +
                   "|电子废物|危废倾倒|垃圾焚烧|固体废物|新污染物|无废城市|环境执法大练兵|执法|检查|巡查|约谈|大气污染防治法|水污染防治法" +
                   "|土壤污染防治法|噪声污染防治法 长江保护法|固体废物污染环境防治法|环境影响评价法|海洋环境保护法|核安全法|排污许可" +
                   "|水十条|水|大气十条|大气|土十条|土|公民十条|按日计罚|新环保法|环保垂直管理|生态环境损害赔偿|环境公益诉讼|生态红线" +
                   "|自然保护区|自然保护地|国家公园|碳减排|碳达峰|碳中和|碳目标|碳市场|碳交易|极端天气|减碳|降碳|低碳|节能减排|温室气体" +
                   "|适应气候变化|督察|整治|典型案例|中央生态环境保护督察|中央环境保护督察|环保督察|督察“回头看”| 边督边改|督察整改|强化督查" +
                   "|监督帮扶|环境监测|监测|环境状况公报|环评|环境信息公开|环境应急|应急|环境监管|环保执法|执法检查|环保举报|12369|环保企业" +
                   "|高质量|环保产业|绿色金融|绿色消费|绿色快递|循环经济|低碳转型|转型|转型发展|核与辐射|核安全|核电站|核电厂|新闻发布会" +
                   "|公众参与|环保设施公众开放|环保新媒体|环境安全";


        /*Pattern pattern = Pattern.compile("[\\u4e00-\\u9fa5]");
        Matcher matcher = pattern.matcher(str);
        boolean containsChineseCharacter = matcher.find();
        if (containsChineseCharacter) {
            // Specified string contains Chinese characters
            System.out.println("Specified string contains Chinese characters");
        } else {
            // Specified string does not contain Chinese characters
            System.out.println("Specified string does not contain Chinese characters");
        }*/


        //String str1 ="aaa|bbb";
        String[] strings = str.split("\\|");

        String a ="环境状况公报";
        boolean b = Arrays.asList(strings).contains(a);
        System.out.println(b);
    }
}
